﻿CREATE PROCEDURE [dbo].[proc_rptRequisicaoInternaAllProdutos_O1]
(
	@NumeroRequisicao bigint
)
AS
BEGIN

	SET NOCOUNT ON
	DECLARE @Err int

	SELECT
		rl.[IdRefeicaoContratada],
		r.[NumeroRequisicao],
		r.[DataRequisicao],
		r.[IdUnidade],
		r.[Gerente],
		r.[ResponsavelRecepcaoProduto],
		tr.Descricao as DescricaoTipoRefeicao,
		tcr.Descricao as DescricaoClasseRefeicao,
		u.Designacao as DesignacaoUnidade,
		u.IdCliente,
		u.Servico as ServicoUnidade,
		u.UnidadePai,
		c.Nome as NomeCliente,
		p.[IdProduto],
		p.[Nome] as NomeProduto,
		p.[Descricao] as DescricaoProduto,
		p.[CodUnidadeMedida] as CodUnidadeMedida,
		tum.[Descricao] as DescricaoUMedida,
		tum.DescricaoCurta as DescricaoCurtaUMedida,
		tum.Simbolo as SimboloUMedida,
		tum.Tipo as TipoUMedida,
		p.[CodGrupoProduto],
		gp.Nome as NomeGrupoProduto,
		gp.Descricao as DescricaoGrupoProduto,
		gp.CodGrupoProdutoPai,
		gpp.Nome as NomeGrupoProdutoPai,
		gpp.Descricao as DescricaoGrupoProdutoPai,
		rl.[Quantidade],
		rl.[DataCriacao],
		rl.[DataAlteracao],
		p.[PrecoCusto],
		p.[CodMoeda],
		tm.[Descricao] as DescricaoMoeda,
		tm.DescricaoCurta as DescricaoCurtaMoeda,
		tm.Simbolo as SimboloMoeda,
		tm.Tipo as TipoMoeda
	FROM Requisicoes r
			inner join Unidades u on u.IdUnidade = r.IdUnidade
				inner join Clientes c on c.IdCliente = u.IdCliente
					inner join [RequisicoesLinha] rl on rl.NumeroRequisicao = r.NumeroRequisicao
						inner join [Produtos] p on rl.IdProduto = p.IdProduto
							inner join Tipologias tum on tum.Codigo = p.CodUnidadeMedida
								inner join ContratosRefeicoes cr on cr.IdRefeicaoContratada = rl.IdRefeicaoContratada
									inner join Tipologias tr on tr.Codigo = cr.CodTipoRefeicao
										inner join Tipologias tcr on tcr.Codigo =cr.CodTipoClasseRefeitorio
											inner join Tipologias tm on tm.Codigo = p.CodMoeda
												inner join GruposProdutos gp on gp.CodGrupoProduto = p.[CodGrupoProduto]
													left join GruposProdutos gpp on gpp.CodGrupoProduto = gp.CodGrupoProdutoPai
	where  r.NumeroRequisicao = @NumeroRequisicao
	Order by rl.IdRefeicaoContratada, gpp.Nome, gp.Nome, p.IdProduto

	SET @Err = @@Error

	RETURN @Err
END


